<%@ page language="java" %>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page pageEncoding="utf-8"%>
<%@ include file="/WEB-INF/pages/includes/pages.jspf" %>
<%@ include file="/WEB-INF/pages/includes/taglibs.jspf" %>
<%@ include file="/WEB-INF/pages/includes/variables.jspf" %>
<div id="paging" class="page">
	<%--
		totalNum : 총 목록 개수
		pageListCnt : 한 페이지에 보여질 목록 개수
		pageGrpCnt : 한 페이지 그룹에 보여질 페이지의 개수
		totalPageCnt : 총 페이지 개수 
		pageIdx : 현재 페이지 번호
		startPage : 시작 페이지 번호
		endPage : 끝 페이지 번호
		targetPageNm : 페이징 Element의 name으로 옵션이다. 
		사용하는 jsp에서 	function goPage(pageIdx){}를 구현
	 --%>
	<c:set var="totalNum" value="${param.totalNum}" />
	<c:set var="pageListCnt" value="${param.pageListCnt}" />
	<c:set var="pageGrpCnt" value="${param.pageGrpCnt}" />
	<c:set var="pageIdx" value="${param.pageIdx}" />
	<c:set var="targetPageNm" value="${param.targetPageNm}" />
	
	<fmt:parseNumber var="totalPageCnt" value="${(totalNum / pageListCnt ) + ( totalNum % pageListCnt == 0 ? 0 : 1)}" integerOnly="true" />
	<fmt:parseNumber var="startPage" value="${((pageIdx-1)/pageGrpCnt)}" integerOnly="true" />
	<fmt:parseNumber var="startPage" value="${startPage * pageGrpCnt + 1}" integerOnly="true" />
	
	<c:choose>
		<c:when test="${startPage + pageGrpCnt > totalPageCnt}">
			<c:set var="endPage" value="${totalPageCnt}" />
		</c:when>
		<c:otherwise>
			<c:set var="endPage" value="${startPage + pageGrpCnt - 1}" />
		</c:otherwise>
	</c:choose>
	<c:if test="${startPage ne 1}"><%-- 첫 페이지로 --%>
		<a class="ppNum" href="javascript:goPage(1<c:if test="${not empty targetPageNm}">, '${targetPageNm}'</c:if>);">
			<img src="<c:url value="${dirImages}/bt_paging.gif" />" alt="처음으로">
		</a>
	</c:if>
	<c:if test="${startPage - 1 > 0}"><%-- 이전 페이지 블럭으로 --%>
		<a class="pNum" href="javascript:goPage(${startPage - 1}<c:if test="${not empty targetPageNm}">, '${targetPageNm}'</c:if>);">
			<img src="<c:url value="${dirImages}/bt_paging02.gif" />" alt="이전">
		</a>
	</c:if>
	<c:forEach var="idx" begin="${startPage}" end="${endPage}" step="1" varStatus="stat">
		<a class="pageNum" href="javascript:goPage(${idx}<c:if test="${not empty targetPageNm}">, '${targetPageNm}'</c:if>);" <c:if test="${idx eq pageIdx}">style="font-weight:bold;"</c:if>>
			${idx}
		</a>
		<c:if test="${not stat.last}">
			<span>|</span>
		</c:if>
	</c:forEach>
	<c:if test="${endPage + 1 <= totalPageCnt}"><%-- 다음 페이지 블럭으로 --%>
		<a class="nNum" href="javascript:goPage(${endPage + 1}<c:if test="${not empty targetPageNm}">, '${targetPageNm}'</c:if>);">
			<img src="<c:url value="${dirImages}/bt_paging03.gif" />" alt="다음">
		</a>
	</c:if>
	<c:if test="${endPage ne totalPageCnt}"><%-- 마지막 페이지로 --%>
		<a class="nnNum" href="javascript:goPage(${totalPageCnt}<c:if test="${not empty targetPageNm}">, '${targetPageNm}'</c:if>);">
			<img src="<c:url value="${dirImages}/bt_paging04.gif" />" alt="마지막">
		</a>
	</c:if>
</div>